home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PWABFV20.ZIP
/
VIEW.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-02-19
|
26KB
|
1,925 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Boolean BOOLEAN008
Boolean BOOLEAN009
Boolean BOOLEAN010
Boolean BOOLEAN011
Boolean BOOLEAN012
Boolean BOOLEAN013
Boolean BOOLEAN014
Boolean BOOLEAN015
Boolean BOOLEAN016
Boolean BOOLEAN017
Boolean TBOOLEAN018(1)
Boolean BOOLEAN019
Boolean BOOLEAN020
Boolean BOOLEAN021
Boolean BOOLEAN022
Boolean BOOLEAN023
Boolean BOOLEAN024
Boolean BOOLEAN025
Boolean BOOLEAN026
Boolean BOOLEAN027
Boolean BOOLEAN028
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Integer INTEGER023
Integer INTEGER024
Integer INTEGER025
Integer INTEGER026
Integer INTEGER027
Integer INTEGER028
Integer INTEGER029
Integer INTEGER030
Integer INTEGER031
Integer INTEGER032
Integer INTEGER033
Integer INTEGER034
Integer INTEGER035
Integer INTEGER036
Integer INTEGER037
Integer INTEGER038
Integer INTEGER039
Integer INTEGER040
Integer INTEGER041
Integer INTEGER042
Real REAL001
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String TSTRING013(10)
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String TSTRING027(1)
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
String STRING043
String STRING044
String STRING045
Byte BYTE001
Int INT001
Int INT002
Int INT003
Int INT004
Int INT005
Int INT006
Int INT007
Int TINT008(10)
Int TINT009(10)
Int INT010
Int INT011
Int INT012
Int INT013
Int INT014
Int INT015
Int INT016
Int INT017
Int INT018
Int INT019
BigStr BIGSTR001
;------------------------------------------------------------------------------
STRING011 = PPEPath() + "graph\vtext"
INT002 = 80
If (TokCount() == 1) Then
STRING009 = GetToken()
If (STRING009 == 557) Then
BOOLEAN014 = 1
STRING009 = ""
STRING010 = ""
If (PPLBufSize() <> 0) Then
STRING009 = Inkey()
While ((STRING009 <> "") && (STRING009 <> Chr(13))) Do
STRING010 = STRING010 + STRING009
STRING009 = Inkey()
EndWhile
Endif
If (STRING010 <> "/VIEW") Then
STRING010 = ""
FreshLine
Newline
InputStr ReadLine(STRING011, 17) + "_", STRING010, 7, 12, Mask_Pwd(), 0 + 2
FreshLine
If (STRING010 == "") Then
KbdStuff Chr(13)
End
Goto LABEL001
Endif
KbdStuff STRING010
End
:LABEL001
Goto LABEL003
Endif
STRING009 = ""
STRING010 = ""
STRING009 = Inkey()
While ((STRING009 <> "") && (STRING009 <> Chr(13))) Do
STRING010 = STRING010 + STRING009
STRING009 = Inkey()
EndWhile
If (STRING010 == "") Then
FreshLine
InputStr ReadLine(STRING011, 2) + "_", STRING010, 7, 12, Mask_Pwd(), 0 + 2
If (STRING010 == "") Then
KbdStuff Chr(13)
End
Goto LABEL002
Endif
Tokenize STRING010
:LABEL002
Goto LABEL003
Endif
Tokenize STRING010
:LABEL003
Goto LABEL004
Endif
Tokenize STRING009
Endif
:LABEL004
BOOLEAN015 = 1
STRING012 = ""
If (LangExt() <> "") Then
If (Exist(STRING011 + LangExt())) STRING011 = STRING011 + LangExt()
Endif
Goto LABEL008
INT006 = 1
:LABEL005
INT010 = GetX()
INT011 = GetY()
For INT007 = 1 To INT004
TINT008(INT007) = GetX()
TINT009(INT007) = GetY()
Print TSTRING013(INT007)
Print " "
Next
INT005 = INT006
Gosub LABEL007
Print STRING014, StripAtx(TSTRING013(INT005))
:LABEL006
STRING015 = Inkey()
Select Case (STRING015)
Case Chr(13)
DefColor
Return
Case "RIGHT", "DOWN", "."
Gosub LABEL007
Print TSTRING013(INT005)
If (INT005 == INT004) Then
INT005 = 1
Else
Inc INT005
Endif
Gosub LABEL007
Print STRING014, StripAtx(TSTRING013(INT005))
Case "LEFT", "UP", ","
Gosub LABEL007
Print TSTRING013(INT005)
If (INT005 == 1) Then
INT005 = INT004
Else
Dec INT005
Endif
Gosub LABEL007
Print STRING014, StripAtx(TSTRING013(INT005))
Case "END"
Gosub LABEL007
Print TSTRING013(INT005)
INT005 = INT004
Gosub LABEL007
Print STRING014, StripAtx(TSTRING013(INT005))
Case "HOME"
Gosub LABEL007
Print TSTRING013(INT005)
INT005 = 1
Gosub LABEL007
Print STRING014, StripAtx(TSTRING013(INT005))
Case "?"
If (STRING012 <> "") Then
SaveScrn
StartDisp 2
DispFile STRING012, 1 + 4
Wait
RestScrn
StartDisp 1
Endif
Case ""
For INT007 = 1 To INT004
If (Upper(STRING015) == Left(Strip(StripAtx(TSTRING013(INT007)), " "), 1)) Then
Gosub LABEL007
Print TSTRING013(INT005)
INT005 = INT007
Gosub LABEL007
Print STRING014, StripAtx(TSTRING013(INT005))
KbdStuff Chr(13)
Endif
Next
End Select
Goto LABEL006
:LABEL007
INT012 = GetX()
If (INT012 > TINT008(INT005)) Then
Backup INT012 - TINT008(INT005)
ElseIf (INT012 < TINT008(INT005)) Then
Forward TINT008(INT005) - INT012
Endif
Return
:LABEL008
STRING018 = PPEPath() + "view.cfg"
STRING020 = ReadLine(STRING018, 1)
If (Right(STRING020, 1) <> "\") STRING020 = STRING020 + "\"
STRING024 = ReadLine(STRING018, 2)
If (Right(STRING024, 1) <> "\") STRING024 = STRING024 + "\"
STRING021 = STRING024 + ReadLine(STRING018, 3) + String(PcbNode()) + ".zip"
STRING023 = Upper(ReadLine(STRING018, 3)) + String(PcbNode()) + ".ZIP"
StartDisp 1
GetUser
STRING024 = ReadLine(STRING018, 4)
INTEGER002 = ReadLine(STRING018, 7)
STRING008 = ReadLine(STRING018, 8)
If (Right(STRING024, 1) <> "\") STRING024 = STRING024 + "\"
STRING025 = STRING024 + "node" + String(PcbNode())
If (Exist(STRING025 + "\zipdir")) Goto LABEL009
PrintLn ReadLine(STRING011, 54)
Shell 1, STRING009, "mkdir", STRING025
Shell 1, STRING009, "mkdir", STRING025 + "\work"
FCreate 1, STRING025 + "\zipdir", 1, 0
FClose 1
If (Exist(STRING025 + "\zipdir")) Then
PrintLn "@X0CNodedir created"
Else
PrintLn ReadLine(STRING011, 55)
Wait
DefColor
Cls
End
Endif
:LABEL009
STRING017 = STRING025 + "\wildcard"
STRING026 = STRING025 + "\flagged"
STRING022 = STRING025 + "\flaglst"
BOOLEAN010 = 0
BOOLEAN011 = 0
BOOLEAN008 = 0
BOOLEAN009 = 0
Redim TSTRING027, INTEGER002
Redim TBOOLEAN018, INTEGER002
STRING028 = ReadLine(PCBDat(), 31) + ".@@@"
STRING003 = "@X08[PWA] @X07FileView @X0F2.00@X08@X07 (C) BlackCat 1995"
FreshLine
PrintLn STRING003
Newline
BOOLEAN017 = 0
If (Exist(STRING026)) Delete STRING026
STRING001 = GetToken()
STRING004 = GetToken()
Tokenize ReadLine(STRING018, 5)
If (GetToken() == "YES") Then
If (U_Expert) Then
BOOLEAN007 = 1
Else
BOOLEAN007 = 0
Endif
Else
BOOLEAN007 = 0
Endif
If (GetToken() == "YES") BOOLEAN012 = 1
If (GetToken() == "YES") BOOLEAN019 = 1
BOOLEAN017 = 0
If (STRING001 == "") Then
:LABEL010
BOOLEAN017 = 0
FClose -1
If (Exist(STRING026)) Delete STRING026
BOOLEAN011 = 0
STRING001 = ""
InputStr ReadLine(STRING011, 2) + "_", STRING001, 1, 12, Mask_File(), 8
FreshLine
If (STRING001 == "") Then
If (BOOLEAN014) Then
StartDisp 2
KbdStuff Chr(13)
Endif
Log "[BC] VIEW no file entered, quitting at " + String(Time()), 0
DefColor
Cls
End
Else
Log "[BC] VIEW started on " + STRING001 + " at " + String(Time()), 0
Endif
Else
Log "[BC] VIEW started on " + STRING001 + " at " + String(Time()), 0
Endif
INTEGER012 = InStr(STRING001, ".")
STRING034 = ""
BOOLEAN001 = 0
BOOLEAN002 = 0
BOOLEAN003 = 0
BOOLEAN011 = 0
If (INTEGER012) Goto LABEL011
If (Len(STRING001) > 8) Then
FreshLine
Log "[BC] VIEW file " + STRING001 + " too long", 0
PrintLn ReadLine(STRING011, 3)
Goto LABEL010
Endif
STRING034 = ""
Goto LABEL012
:LABEL011
For INTEGER008 = 1 To 3
STRING034 = STRING034 + Mid(STRING001, INTEGER012 + INTEGER008, 1)
Next
:LABEL012
Select Case (STRING034)
Case "ZIP"
BOOLEAN001 = 1
STRING007 = "dozip.exe"
Case "ARJ"
BOOLEAN002 = 1
STRING007 = "doarj.exe"
Case "LZH"
BOOLEAN003 = 1
STRING007 = "dolzh.exe"
FreshLine
Log "[BC] VIEW invalid extension on file " + STRING001, 0
PrintLn ReplaceStr(ReadLine(STRING011, 4), "@OPTEXT@", Upper(STRING034))
Print "@X07View this file direct (use only if textfile etc)? "
Gosub LABEL066
FreshLine
Case 1
BOOLEAN017 = 1
Log "[BC] VIEW file " + STRING001 + " viewed directly", 0
FreshLine
Case Else
Goto LABEL010
End Select
STRING002 = STRING001
FOpen 1, STRING028, 0, 0
If (Ferr(1)) Then
PrintLn "@X0CCouldn't open conference file!!"
Wait
If (BOOLEAN014) Then
StartDisp 2
KbdStuff Chr(13)
Endif
Log "[BC] VIEW ended, error opening conf file, at" + String(Time()), 0
End
Endif
STRING035 = PCBMac("@DIRNUM@")
INTEGER013 = ToInteger(PCBMac("@NUMDIR@"))
STRING001 = RTrim(STRING001, " ")
FRead 1, INT013, 2
If (STRING035 <> "") Then
If (ToInteger(STRING035) == INTEGER013) Then
Gosub LABEL077
Else
Gosub LABEL078
Endif
If (Exist(STRING036 + STRING001)) Goto LABEL013
FOpen 1, STRING028, 0, 0
Goto LABEL014
:LABEL013
FreshLine
STRING001 = STRING036 + "\" + STRING001
If (BOOLEAN017) Then
StartDisp 2
STRING016 = STRING001
Gosub LABEL055
StartDisp 1
FreshLine
Goto LABEL010
Endif
Else
:LABEL014
INTEGER011 = CurConf() * INT013 + 2 + 515
FSeek 1, INTEGER011, 0
FRead 1, STRING032, 33
FreshLine
FClose 1
FOpen 1, STRING032, 0, 0
FGet 1, STRING033
While (STRING033 <> "") Do
If (Exist(STRING033 + STRING001)) Then
FreshLine
PrintLn ReadLine(STRING011, 5)
STRING001 = STRING033 + STRING001
FClose 1
If (BOOLEAN017) Then
STRING016 = STRING001
Gosub LABEL055
StartDisp 1
FreshLine
Goto LABEL010
Endif
Goto LABEL015
Endif
FGet 1, STRING033
If (Ferr(1)) Break
EndWhile
FClose 1
FreshLine
PrintLn ReadLine(STRING011, 6)
Log "[BC] VIEW file not found in dlpath\directory", 0
Goto LABEL010
Endif
:LABEL015
FClose 1
If (!BOOLEAN001) Delete STRING025 + "\filelist"
Shell 0, STRING029, PPEPath() + STRING007, "ZIPSTART " + STRING020 + " " + STRING001 + " " + STRING025
If (STRING029 <> 0) Then
PrintLn ReadLine(STRING011, 7)
Wait
If (BOOLEAN014) Then
StartDisp 2
KbdStuff Chr(13)
Endif
Log "[BC] VIEW ended (startzip error) " + String(Time()), 0
End
Endif
Gosub LABEL028
If (Exist(STRING025 + "\flaguser")) Then
STRING009 = ReadLine(STRING025 + "\flaguser", 1)
Else
STRING009 = ""
Endif
If ((U_Name() <> STRING009) || !BOOLEAN019) Then
FClose -1
Delete STRING021
Delete STRING022
Delete STRING026
Delete STRING025 + "\flaguser"
FCreate 1, STRING025 + "\flaguser", 1, 3
FPutLn 1, U_Name()
FClose 1
Endif
:LABEL016
DefColor
If (!BOOLEAN007 || BOOLEAN013) Then
If (BOOLEAN013) BOOLEAN013 = 0
INTEGER010 = 1
FOpen 1, PPEPath() + "graph\menu", 0, 0
FGet 1, STRING009
:LABEL017
If (Ferr(1)) Goto LABEL018
STRING009 = ReplaceStr(STRING009, "@FILENAME@", STRING002)
STRING009 = ReplaceStr(STRING009, "@FLAGFILE@", STRING023)
PrintLn STRING009
FGet 1, STRING009
Goto LABEL017
:LABEL018
FClose 1
Endif
:LABEL019
STRING030 = ""
FreshLine
InputStr ReadLine(STRING011, 8) + "_", STRING030, 1, 7, Mask_Ascii(), 8
Tokenize STRING030
STRING030 = GetToken()
Select Case (STRING030)
Case "R"
FreshLine
BOOLEAN008 = 1
BOOLEAN009 = 0
FClose -1
Delete STRING017
INT001 = 0
Goto LABEL031
:LABEL020
BOOLEAN008 = 0
Goto LABEL016
Case "W"
STRING030 = ""
STRING030 = ReadLine(STRING018, 6)
FreshLine
If (TokCount() == 1) Then
STRING030 = GetToken()
Else
InputStr ReadLine(STRING011, 53), STRING030, 7, 12, Mask_File() + "*?", 8 + 2
If (STRING030 == "") Goto LABEL016
Endif
FreshLine
PrintLn ReadLine(STRING011, 9)
FClose -1
If (!BOOLEAN001) Delete STRING025 + "\wildcard"
Shell 0, STRING029, PPEPath() + STRING007, "ZIPWILD " + STRING020 + " " + STRING001 + " " + STRING030 + " " + STRING025 + "\wildcard"
If (STRING029 <> 0) Then
PrintLn ReadLine(STRING011, 10)
Goto LABEL019
Endif
Gosub LABEL073
Goto LABEL016
Case "Q"
FClose -1
FreshLine
PrintLn STRING003
If (BOOLEAN014) Then
StartDisp 2
KbdStuff Chr(13)
Endif
Log "[BC] VIEW ended " + String(Time()), 0
End
Case "L"
Gosub LABEL028
StartDisp 1
Case "X"
FreshLine
If (BOOLEAN007) Goto LABEL021
PrintLn ReadLine(STRING011, 11)
BOOLEAN007 = 1
Goto LABEL022
:LABEL021
PrintLn ReadLine(STRING011, 12)
BOOLEAN007 = 0
:LABEL022
Case ""
Goto LABEL019
Case "H"
StartDisp 2
FOpen 1, PPEPath() + "graph\fvhlp", 0, 0
FDefIn 1
FDGet STRING009
:LABEL023
If (Ferr(1)) Goto LABEL024
STRING009 = ReplaceStr(STRING009, "@FILENAME@", STRING002)
STRING009 = ReplaceStr(STRING009, "@FLAGFILE@", STRING023)
PrintLn STRING009
If (Abort()) Goto LABEL024
FDGet STRING009
Goto LABEL023
:LABEL024
FClose 1
ResetDisp
StartDisp 1
Wait
Case "?"
BOOLEAN013 = 1
Goto LABEL016
Case "F"
BOOLEAN009 = 1
BOOLEAN008 = 0
INT001 = 0
Goto LABEL031
:LABEL025
BOOLEAN009 = 0
Case "E"
FreshLine
If (BOOLEAN003) Then
PrintLn "@X0CExtra command not available for LZH compression"
Wait
Goto LABEL016
Endif
PrintLn ReadLine(STRING011, 13)
Shell 0, STRING029, PPEPath() + STRING007, "ZIPEX " + STRING020 + " " + STRING001 + " " + STRING025 + "\extra"
If (STRING029 <> 0) Then
PrintLn ReadLine(STRING011, 14)
Goto LABEL019
Endif
STRING016 = STRING025 + "\extra"
Gosub LABEL055
Goto LABEL016
Case "S"
FClose -1
Newline
BOOLEAN010 = 1
Goto LABEL010
Case "D"
FreshLine
Newline
If (Exist(STRING021)) Goto LABEL026
PrintLn ReadLine(STRING011, 15)
Newline
Goto LABEL019
Goto LABEL027
:LABEL026
STRING030 = Upper(YesChar())
Print ReadLine(STRING011, 16)
Gosub LABEL066
FreshLine
If (INT005 == 1) Then
PrintLn ReadLine(STRING011, 17)
FClose -1
Delete STRING021
Delete STRING022
Delete STRING026
Redim TBOOLEAN018, INTEGER002
Endif
:LABEL027
Case "P"
FreshLine
Newline
DispFile PPEPath() + "graph\info", 0
FreshLine
Wait
Newline
Goto LABEL016
Case "I"
FClose -1
Newline
Newline
If (Exist(STRING022)) Then
StartDisp 2
FreshLine
DispFile STRING022, 1 + 4
Wait
StartDisp 1
Else
PrintLn ReadLine(STRING011, 18)
Newline
Goto LABEL019
Endif
Case "B"
FClose -1
StartDisp 2
FreshLine
STRING016 = STRING025 + "\filelist"
Gosub LABEL055
StartDisp 1
Case "FLAG"
Flag STRING001
FreshLine
Newline
PrintLn ReplaceStr(ReadLine(STRING011, 19), "@OPTEXT@", STRING002)
Newline
Goto LABEL019
Case Else
FreshLine
Newline
PrintLn ReadLine(STRING011, 20)
Newline
Goto LABEL019
End Select
Goto LABEL016
Return
:LABEL028
DefColor
Cls
BOOLEAN006 = 0
If (BOOLEAN001) Then
STRING009 = " LENGTH"
STRING010 = " FILEN"
FOpen 1, "pcbview.txt", 0, 0
ElseIf (BOOLEAN002) Then
STRING009 = "FILENAM"
STRING010 = "FILENAM"
FOpen 1, STRING025 + "\zipdir", 0, 0
ElseIf (BOOLEAN003) Then
STRING009 = " NAME "
STRING009 = " NAME "
FOpen 1, STRING025 + "\zipdir", 0, 0
Endif
StartDisp 2
While (1) Do
FGet 1, STRING033
If (Ferr(1)) Break
If ((Upper(Left(STRING033, 7)) == STRING009) || (Upper(Left(STRING033, 7)) == STRING010)) Then
BOOLEAN006 = 1
FGet 1, STRING009
If ((Left(STRING009, 2) == " -") || (Left(STRING009, 2) == "--")) Then
PrintLn ReadLine(STRING011, 21), STRING033
PrintLn ReadLine(STRING011, 22)
Goto LABEL029
Endif
Continue
:LABEL029
Break
Endif
EndWhile
If (BOOLEAN006) Goto LABEL030
FClose 1
FreshLine
PrintLn ReadLine(STRING011, 23)
Wait
If (BOOLEAN014) Then
StartDisp 2
KbdStuff Chr(13)
Endif
Log "[BC] VIEW ended, wrong zipdir format " + String(Time()), 0
End
:LABEL030
STRING005 = ReadLine(STRING011, 24)
While (1) Do
FGet 1, STRING033
If (Ferr(1)) Break
If ((Upper(Left(STRING033, 2)) == "--") || (Upper(Left(STRING033, 7)) == " ")) Then
PrintLn ReadLine(STRING011, 22)
FGet 1, STRING033
PrintLn ReadLine(STRING011, 21), STRING033
Break
Endif
PrintLn STRING005, STRING033
If (Abort()) Break
EndWhile
ResetDisp
FClose 1
Wait
Newline
StartDisp 1
Return
:LABEL031
BOOLEAN020 = 1
BOOLEAN021 = 0
Goto LABEL047
:LABEL032
INT016 = 0
INT015 = INTEGER007
INTEGER024 = INTEGER006
INTEGER020 = INTEGER007 * 5
INTEGER025 = INTEGER003
INTEGER026 = INTEGER004
BOOLEAN021 = 1
INTEGER018 = 1
StartDisp 1
INTEGER018 = 1
:LABEL033
INTEGER019 = INTEGER024
DefColor
AnsiPos INTEGER025, INTEGER026
If (INTEGER020 >= INTEGER024) Then
INTEGER020 = INTEGER024
Endif
If (INTEGER018 + INTEGER020 <= INTEGER019) INTEGER021 = INTEGER018 + INTEGER020 - 1
If (INTEGER018 + INTEGER020 > INTEGER019) INTEGER021 = INTEGER019
INTEGER023 = INTEGER018
INTEGER022 = INTEGER021
DefColor
If (!BOOLEAN020 || BOOLEAN005) Then
INT016 = 0
For INTEGER008 = INTEGER023 To INTEGER022
INTEGER009 = INTEGER008 % INTEGER007
If (INT016 <= 4) Then
If (INTEGER009 == 0) INTEGER009 = INTEGER007
AnsiPos INTEGER003 + INT016 * 16, INTEGER004 + INTEGER009 - 1
STRING006 = TSTRING027(INTEGER008)
Gosub LABEL082
If (TBOOLEAN018(INTEGER008)) Then
Backup 1
Print STRING019
Goto LABEL034
Endif
Backup 1
Print " "
:LABEL034
Print STRING039, Left(STRING006, 12)
If ((INTEGER009 == INTEGER007) && (INTEGER008 < INTEGER022)) Inc INT016
Continue
Endif
Break
Next
If (INT016 <= 4) Then
INTEGER027 = INT016
Goto LABEL035
Endif
INTEGER027 = 4
:LABEL035
INT016 = 0
INTEGER028 = INTEGER027
If (INTEGER022 % INTEGER020 <> 0) Then
For INTEGER008 = INTEGER022 % INTEGER020 + 1 To INTEGER020
INTEGER009 = INTEGER008 % INTEGER007
If (INTEGER028 <= 4) Then
If (INTEGER009 == 0) Then
INTEGER009 = INTEGER007
Endif
AnsiPos INTEGER003 + INTEGER028 * 16, INTEGER004 + INTEGER009 - 1
Print STRING039, Space(12)
If (INTEGER009 == INTEGER007) Inc INTEGER028
Continue
Endif
Break
Next
Endif
Endif
BOOLEAN020 = 0
INTEGER015 = INTEGER018
Gosub LABEL041
AnsiPos INTEGER016, INTEGER017
STRING006 = TSTRING027(INTEGER018)
Gosub LABEL082
If (TBOOLEAN018(INTEGER018)) Then
Backup 1
Print STRING019
Endif
Print STRING037, Left(StripAtx(STRING006), 12)
:LABEL036
STRING030 = Inkey()
Select Case (STRING030)
Case "UP", ","
Gosub LABEL042
If (INTEGER018 % INTEGER007 == 1) Then
If (INT016 == 0) Then
INT016 = INTEGER027
INTEGER018 = INTEGER022
Else
Dec INT016
Dec INTEGER018
Endif
Else
If (INTEGER018 > 1) Dec INTEGER018
Endif
Gosub LABEL043
Goto LABEL036
Case "DOWN", "."
Gosub LABEL042
If ((INTEGER018 % INTEGER007 == 0) || (INTEGER018 == INTEGER022)) Then
If (INT016 == INTEGER027) Then
INTEGER018 = INTEGER023
INT016 = 0
Else
Inc INTEGER018
Inc INT016
Endif
Else
Inc INTEGER018
Endif
Gosub LABEL043
Goto LABEL036
Case "RIGHT"
Gosub LABEL042
If (INT016 == INTEGER027) Then
INT016 = 0
INTEGER001 = INTEGER018 % INTEGER007
If (INTEGER001 == 0) INTEGER001 = INTEGER007
INTEGER018 = INTEGER023 - 1 + INTEGER001
If (INTEGER018 == 0) INTEGER018 = INTEGER007
Else
Inc INT016
INTEGER018 = INTEGER018 + INTEGER007
If (INTEGER018 > INTEGER019) Then
INTEGER018 = INTEGER019
Endif
Endif
Gosub LABEL043
Goto LABEL036
Case "LEFT"
Gosub LABEL042
If (INT016 == 0) Then
If (INTEGER027 > 0) Then
INT016 = INTEGER027
INTEGER018 = INTEGER007 * INTEGER027 + INTEGER018
If (INTEGER018 > INTEGER019) Then
INTEGER018 = INTEGER019
Endif
Else
INTEGER018 = INTEGER023
Endif
Else
Dec INT016
INTEGER018 = INTEGER018 - INTEGER007
Endif
Gosub LABEL043
Goto LABEL036
Case "?"
DefColor
Gosub LABEL044
Goto LABEL036
Case " "
If (TBOOLEAN018(INTEGER018)) Then
TBOOLEAN018(INTEGER018) = 0
Backup 13
Print STRING039, " "
Dec INT001
Else
TBOOLEAN018(INTEGER018) = 1
Backup 13
Print STRING019
Inc INT001
Endif
KbdStuff "."
Goto LABEL036
Case "V"
If (INT001 > 0) Then
BOOLEAN015 = 0
Else
Goto LABEL036
If (STRING030 == "HOME") Then
Gosub LABEL042
INT016 = 0
INTEGER018 = INTEGER023
Gosub LABEL043
Goto LABEL036
Goto LABEL040
Endif
If (STRING030 == "END") Then
Gosub LABEL042
INTEGER018 = INTEGER022
INT016 = INTEGER027
Gosub LABEL043
Goto LABEL036
Goto LABEL040
Endif
If (STRING030 == Chr(13)) Then
If (BOOLEAN009) Then
KbdStuff " "
Goto LABEL036
Endif
INTEGER008 = INTEGER018
INTEGER016 = GetX()
INTEGER017 = GetY()
INTEGER014 = INTEGER018
:LABEL037
If (BOOLEAN008) BOOLEAN015 = 1
Endif
If (!BOOLEAN015 && (INT001 > 0)) Then
Gosub LABEL050
BOOLEAN015 = 1
INTEGER018 = INTEGER023
DispFile STRING040, 0
INT016 = 0
Goto LABEL033
Goto LABEL038
Endif
Gosub LABEL050
:LABEL038
If (BOOLEAN009) Then
KbdStuff " "
Goto LABEL036
Endif
AnsiPos INTEGER016, INTEGER017
If (BOOLEAN008) Then
RestScrn
AnsiPos INTEGER016, INTEGER017
If (BOOLEAN004) Then
BOOLEAN004 = 0
Goto LABEL039
Endif
KbdStuff "."
Endif
:LABEL039
Goto LABEL036
Goto LABEL040
Endif
Case ">", "PGDN", "]"
If (INTEGER022 + INTEGER020 <= INTEGER019) Then
INTEGER018 = INTEGER022 + 1
INT016 = 0
Goto LABEL033
Else
If (INTEGER022 <> INTEGER019) Then
INTEGER018 = INTEGER022 + 1
INT016 = 0
Goto LABEL033
Endif
Print "@BEEP@"
Goto LABEL036
Endif
Case "<", "PGUP", "["
If (INTEGER023 - INTEGER020 >= 1) Then
INTEGER018 = INTEGER023 - INTEGER020
INT016 = 0
Goto LABEL033
Else
Print "@BEEP@"
Goto LABEL036
Endif
Case "X"
If (BOOLEAN009) Then
DefColor
Cls
If (Exist(STRING026)) Delete STRING026
Goto LABEL025
Endif
Goto LABEL036
Case Chr(27), "Q"
If (BOOLEAN016) BOOLEAN016 = 0
If (BOOLEAN008) Then
DefColor
If (BOOLEAN021) Then
DefColor
Cls
Endif
Goto LABEL020
Endif
If (BOOLEAN009) Then
DefColor
Cls
If (INT001 > 0) Then
PrintLn ReadLine(STRING011, 25)
FCreate 1, STRING026, 1, 0
For INTEGER008 = 1 To INTEGER006
If (TBOOLEAN018(INTEGER008)) Then
FPutLn 1, TSTRING027(INTEGER008)
Endif
Next
FClose 1
Shell 0, STRING029, PPEPath() + STRING007, "ZIPFLAG " + STRING020 + " " + STRING001 + " " + STRING026 + " " + STRING025 + "\WORK" + " " + STRING021
If (STRING029 <> 0) Then
PrintLn ReadLine(STRING011, 26)
Wait
Goto LABEL025
Endif
FAppend 2, STRING022, 1, 0
INT017 = 1
STRING009 = ReadLine(STRING026, INT017)
STRING010 = ReadLine(STRING011, 52)
While (STRING009 <> "") Do
FPutLn 2, ReplaceStr(ReplaceStr(STRING010, "%FILE%", STRING009), "%FROM%", STRING002)
Inc INT017
STRING009 = ReadLine(STRING026, INT017)
EndWhile
FClose 2
FClose -1
Flag STRING021
If (Exist(STRING026)) Delete STRING026
Endif
Goto LABEL025
Endif
Case Asc("5"), Asc("1"), 1
If ((ToInteger(STRING030) <= INTEGER027 + 1) && (ToInteger(STRING030) >= 1)) Then
Gosub LABEL042
INT016 = ToInteger(STRING030) - 1
INTEGER001 = INTEGER018 % INTEGER007
If (INTEGER001 == 0) INTEGER001 = INTEGER007
INTEGER018 = INTEGER023 + INTEGER007 * INT016 + INTEGER001 - 1
If (INTEGER018 > INTEGER022) INTEGER018 = INTEGER022
Gosub LABEL043
Endif
Goto LABEL036
Case Asc("Q"), Asc("A"), 1
INTEGER029 = INTEGER023 + INT016 * INTEGER007
If (INTEGER029 + Asc(Upper(STRING030)) - Asc("A") > INTEGER022) Goto LABEL036
Gosub LABEL042
INTEGER018 = INTEGER029 + Asc(Upper(STRING030)) - Asc("A")
INTEGER014 = INTEGER018
INTEGER008 = INTEGER018
INTEGER016 = GetX()
INTEGER017 = GetY()
BOOLEAN004 = 1
Gosub LABEL043
Gosub LABEL037
Case Else
If ((STRING030 == "") || (Len(STRING030) > 1)) Goto LABEL036
Goto LABEL036
End Select
:LABEL040
End
:LABEL041
INT014 = INTEGER015 % INTEGER020
If (INT014 == 0) INT014 = INTEGER020
INTEGER016 = INTEGER025
INTEGER017 = INTEGER026 + INT014 - 1
Return
:LABEL042
INT014 = INTEGER018 % INTEGER007
If (INT014 == 0) INT014 = INTEGER007
INTEGER016 = INTEGER025 + 16 * INT016
INTEGER017 = INTEGER026 + INT014 - 1
AnsiPos INTEGER016, INTEGER017
STRING006 = TSTRING027(INTEGER018)
Gosub LABEL082
AnsiPos INTEGER016, INTEGER017
Print STRING039, Left(STRING006, 12)
Return
:LABEL043
INT014 = INTEGER018 % INTEGER007
If (INT014 == 0) INT014 = INTEGER007
INTEGER016 = INTEGER025 + INT016 * 16
INTEGER017 = INTEGER026 + INT014 - 1
AnsiPos INTEGER016, INTEGER017
STRING006 = TSTRING027(INTEGER018)
Gosub LABEL082
Print STRING037, Left(StripAtx(STRING006), 12)
Return
:LABEL044
AnsiPos 1, 23
SaveScrn
StartDisp 2
Cls
If (BOOLEAN009) Then
STRING009 = PPEPath() + "graph\flaghlp"
Else
STRING009 = PPEPath() + "graph\viewhlp"
Endif
FOpen 1, STRING009, 0, 0
FDefIn 1
FDGet STRING009
:LABEL045
If (Ferr(1)) Goto LABEL046
STRING009 = ReplaceStr(STRING009, "@FILENAME@", STRING002)
STRING009 = ReplaceStr(STRING009, "@FLAGFILE@", STRING023)
PrintLn STRING009
If (Abort()) Goto LABEL046
FDGet STRING009
Goto LABEL045
:LABEL046
FClose 1
ResetDisp
Wait
StartDisp 1
RestScrn
AnsiPos INTEGER016, INTEGER017
Return
:LABEL047
DefColor
Cls
FreshLine
PrintLn ReadLine(STRING011, 27)
FreshLine
StartDisp 1
If (BOOLEAN008) Then
STRING040 = PPEPath() + "graph\view"
DispFile STRING040, 0
ElseIf (BOOLEAN009) Then
STRING040 = PPEPath() + "graph\flag"
DispFile STRING040, 0
Endif
Tokenize ReadLine(PPEPath() + "lb.cfg", 1)
INT016 = 0
BOOLEAN005 = 0
If (BOOLEAN011) Then
BOOLEAN005 = 1
Redim TBOOLEAN018, INTEGER002
Else
INTEGER003 = GetToken()
INTEGER004 = GetToken()
INTEGER007 = GetToken()
INTEGER031 = INTEGER007 * 5
STRING037 = GetToken()
STRING039 = GetToken()
STRING019 = GetToken()
If (BOOLEAN002) Then
INTEGER005 = 3
INTEGER030 = 1
Else
INTEGER005 = 1
INTEGER030 = 1
Endif
AnsiPos INTEGER003, INTEGER004
FOpen 1, STRING025 + "\filelist", 0, 0
FDefIn 1
If (BOOLEAN002) Then
FDGet STRING038
FDGet STRING038
Endif
:LABEL048
FDGet STRING038
If (Right(STRING038, 1) == "/") Then
Inc INTEGER005
Goto LABEL048
Endif
For INTEGER008 = 1 To INTEGER002
TSTRING027(INTEGER030) = ReplaceStr(STRING038, "/", "\")
INTEGER009 = INTEGER008 % INTEGER007
If (INT016 <= 4) Then
If (INTEGER009 == 0) INTEGER009 = INTEGER007
AnsiPos INTEGER003 + INT016 * 16, INTEGER004 + INTEGER009 - 1
STRING006 = TSTRING027(INTEGER008)
Gosub LABEL082
If (TBOOLEAN018(INTEGER008)) Then
Backup 1
Print STRING019, STRING039
Endif
Print STRING006
If (INTEGER009 == INTEGER007) Inc INT016
Endif
Inc INTEGER030
:LABEL049
FDGet STRING038
If (Ferr(1)) Then
If (INTEGER009 == INTEGER007) Dec INT016
Break
Endif
If (Right(STRING038, 1) == "/") Goto LABEL049
Next
If (INT016 <= 4) Then
INTEGER027 = INT016
Else
INTEGER027 = 4
Endif
FClose 1
Redim TBOOLEAN018, INTEGER002
BOOLEAN011 = 1
INTEGER006 = INTEGER030 - 1
Endif
Goto LABEL032
:LABEL050
If (BOOLEAN008) Then
AnsiPos 1, 23
If (BOOLEAN015) SaveScrn
If (BOOLEAN015) Goto LABEL051
DefColor
Cls
FClose -1
FCreate 1, STRING017, 1, 0
For INTEGER008 = 1 To INTEGER006
If (TBOOLEAN018(INTEGER008)) Then
FPutLn 1, TSTRING027(INTEGER008)
Endif
Next
FClose 1
Gosub LABEL073
FClose -1
Delete STRING017
Return
:LABEL051
STRING031 = TSTRING027(INTEGER014)
If (STRING031 == "") Goto LABEL016
DefColor
Cls
STRING031 = Replace(STRING031, "/", "\")
If (InStr(STRING031, STRING019)) STRING031 = ReplaceStr(STRING031, STRING019, "")
PrintLn ReadLine(STRING011, 28)
If (OnLocal()) SaveScrn
If (BOOLEAN001) Then
FCreate 1, STRING025 + "\zl", 1, 0
FPutLn 1, STRING031
FClose 1
Shell 0, STRING029, PPEPath() + STRING007, "ZIPVIEW " + STRING020 + " " + STRING001 + " " + STRING025 + "\zl" + " " + STRING025 + "\work"
Else
Shell 0, STRING029, PPEPath() + STRING007, "ZIPVIEW " + STRING020 + " " + STRING001 + " " + STRING031 + " " + STRING025 + "\work"
Endif
If (OnLocal()) RestScrn
Gosub LABEL053
If (BOOLEAN006) Goto LABEL052
PrintLn ReadLine(STRING011, 29)
Wait
Return
:LABEL052
STRING016 = STRING025 + "\work\" + STRING031
FClose -1
FAppend 1, STRING025 + "\work\" + STRING031, 1, 0
FPutLn 1, ""
FClose 1
StartDisp 2
DefColor
Cls
Gosub LABEL055
FClose -1
Delete STRING025 + "\work\" + STRING031
StartDisp 1
Else
PrintLn "ERROR, IN FEEDBACK WHEN FLAGGING!"
Wait
Endif
Return
:LABEL053
BOOLEAN006 = 0
STRING009 = ""
For INT018 = Len(STRING031) To 1 Step -1
STRING041 = Mid(STRING031, INT018, 1)
If ((STRING041 == "\") || (STRING041 == "/")) Then
If (STRING009 == "") Then
Return
Goto LABEL054
Endif
Break
:LABEL054
Continue
Endif
STRING009 = STRING009 + STRING041
Next
BOOLEAN006 = 1
STRING010 = ""
For INT018 = Len(STRING009) To 1 Step -1
STRING010 = STRING010 + Mid(STRING009, INT018, 1)
Next
STRING031 = STRING010
Return
:LABEL055
STRING042 = ReadLine(STRING011, 32)
STRING043 = ReadLine(STRING011, 33)
TSTRING013(1) = ReadLine(STRING011, 34)
TSTRING013(2) = ReadLine(STRING011, 35)
TSTRING013(3) = ReadLine(STRING011, 36)
TSTRING013(4) = "@X07Find"
TSTRING013(5) = "@X07Top"
TSTRING013(6) = "@X07End"
TSTRING013(7) = "@X07<<"
TSTRING013(8) = "@X07>>"
TSTRING013(9) = ReadLine(STRING011, 37)
STRING014 = ReadLine(STRING011, 38)
DefColor
INT006 = 1
INTEGER033 = 0
BOOLEAN024 = 0
INTEGER032 = 1
BOOLEAN023 = 1
BOOLEAN022 = 0
INTEGER034 = FileInf(STRING016, 4)
REAL001 = ToReal(INTEGER034) / 100
FOpen 1, STRING016, 0, 0
FDefIn 1
StartDisp 1
:LABEL056
INTEGER035 = INTEGER033
If (BOOLEAN012) Then
DefColor
Cls
Endif
BOOLEAN025 = 1
FreshLine
If (BOOLEAN024) Then
SearchInit STRING044, 0
SearchFind STRING044, STRING029
Endif
For INTEGER008 = 0 To U_PageLen - 2
FDGet BIGSTR001
If (Ferr(1)) Then
BOOLEAN022 = 1
Break
Endif
INTEGER033 = INTEGER033 + Len(BIGSTR001) + 2
If (BOOLEAN024) Then
PrFound STRING008, BIGSTR001
If (BIGSTR001 == "") Newline
FreshLine
Continue
Endif
Print STRING008, BIGSTR001
If (BIGSTR001 == "") Newline
FreshLine
Next
If (BOOLEAN024) BOOLEAN024 = 0
FreshLine
:LABEL057
DefColor
FreshLine
ClrEol
If (BOOLEAN022) Print STRING042
Print ReplaceStr(STRING043, "%PCT%", String(FmtReal(INTEGER033 / REAL001, 3, 0)))
Gosub LABEL065
Backup 80
ClrEol
Select Case (INT005)
Case 1
INT006 = 1
If (BOOLEAN022) Goto LABEL058
If (BOOLEAN023) BOOLEAN023 = 0
Goto LABEL056
Goto LABEL059
:LABEL058
FClose -1
FClose 1
Return
:LABEL059
Case 2
INT006 = 2
BOOLEAN022 = 0
FSeek 1, INTEGER035, 0
INTEGER033 = INTEGER035
:LABEL060
INT019 = 0
While (1) Do
Gosub LABEL080
If (BOOLEAN026) Then
Inc INT019
If (INT019 == U_PageLen - 1) Break
EndWhile
Endif
Goto LABEL056
Case 3
INT006 = 3
If (BOOLEAN022) Goto LABEL061
If (BOOLEAN023) BOOLEAN023 = 0
Goto LABEL062
:LABEL061
Goto LABEL057
:LABEL062
StartDisp 1
While (1) Do
INTEGER036 = INTEGER035
INTEGER035 = INTEGER033
For INTEGER008 = 0 To U_PageLen - 2
FDGet BIGSTR001
If (Ferr(1)) Then
If (INTEGER008 == 0) Then
INTEGER035 = INTEGER036
Endif
BOOLEAN022 = 1
Break
Endif
INTEGER033 = INTEGER033 + Len(BIGSTR001) + 2
Print STRING008, BIGSTR001
FreshLine
If (BIGSTR001 == "") Newline
If (Abort()) Break
Next
If (Abort()) Then
ResetDisp
FClose -1
Break
Endif
If (BOOLEAN022) Goto LABEL063
If (BOOLEAN023) BOOLEAN023 = 0
Continue
:LABEL063
FClose -1
Break
EndWhile
StartDisp 1
Case 4
INT006 = 4
Backup 80
ClrEol
InputStr "@X07Enter string to search for", STRING044, 7, 60, Mask_Pwd(), 0 + 2
If (OnLocal()) SaveScrn
Shell 0, STRING029, PPEPath() + "fv.exe", STRING016 + " " + STRING025 + "\vpos " + String(INTEGER033) + " " + PPEPath() + " " + STRING044
If (OnLocal()) RestScrn
If (STRING029) Then
Backup 80
ClrEol
Print "@X0CString not found. Press Enter to continue."
While (Inkey() <> Chr(13)) Do
EndWhile
Backup 80
Else
BOOLEAN024 = 1
INTEGER033 = ToInteger(ReadLine(STRING025 + "\vpos", 1))
FSeek 1, INTEGER033, 0
Goto LABEL056
Endif
Case 5
INT006 = 5
FSeek 1, 0, 0
INTEGER033 = 0
BOOLEAN022 = 0
Goto LABEL056
Case 6
INT006 = 6
FSeek 1, 0, 2
BOOLEAN022 = 1
INTEGER033 = INTEGER034
Goto LABEL060
Goto LABEL056
Case 7
INT006 = 7
BOOLEAN026 = 0
BOOLEAN022 = 0
FSeek 1, INTEGER035, 0
INTEGER033 = INTEGER035
Gosub LABEL080
Goto LABEL056
Case 8
INT006 = 8
If (BOOLEAN022) Goto LABEL064
FDGet BIGSTR001
If (Ferr(1)) Goto LABEL064
INTEGER033 = INTEGER033 + Len(BIGSTR001) + 2
Backup 80
ClrEol
Print STRING008, BIGSTR001
If (BIGSTR001 == "") Newline
FreshLine
FSeek 1, INTEGER035, 0
FDGet BIGSTR001
INTEGER035 = INTEGER035 + Len(BIGSTR001) + 2
FSeek 1, INTEGER033, 0
Goto LABEL057
:LABEL064
Case 9
StartDisp 1
INT006 = 9
FClose -1
FClose 1
Return
Case Else
Goto LABEL057
End Select
Goto LABEL057
:LABEL065
INT003 = 1
INT004 = 9
STRING012 = PPEPath() + "graph\pghlp"
Gosub LABEL005
STRING012 = ""
Return
:LABEL066
INT006 = 1
INT003 = 1
INT004 = 2
TSTRING013(1) = ReadLine(STRING011, 39)
TSTRING013(2) = ReadLine(STRING011, 40)
STRING014 = ReadLine(STRING011, 41)
Goto LABEL005
:LABEL067
INT003 = 1
INT004 = 3
TSTRING013(1) = ReadLine(STRING011, 42)
TSTRING013(2) = ReadLine(STRING011, 43)
TSTRING013(3) = ReadLine(STRING011, 44)
STRING014 = ReadLine(STRING011, 45)
Gosub LABEL005
Return
StartDisp 2
If (BOOLEAN002) Then
DispFile STRING025 + "\extra", 0
StartDisp 1
Return
Endif
FOpen 1, STRING025 + "\extra", 0, 0
FDefIn 1
FDGet STRING009
BOOLEAN006 = 0
:LABEL068
If (Ferr(1)) Goto LABEL069
If (Upper(Left(STRING009, 20)) == " FILENAME: ") Then
BOOLEAN006 = 1
Else
FDGet STRING009
Goto LABEL068
Endif
:LABEL069
If (BOOLEAN006) Goto LABEL070
PrintLn ReadLine(STRING011, 46)
FClose 1
Return
:LABEL070
FreshLine
PrintLn ReadLine(STRING011, 47)
FDGet STRING009
:LABEL071
If (Ferr(1)) Goto LABEL072
PrintLn STRING009
FDGet STRING009
If (Abort()) Goto LABEL072
Goto LABEL071
:LABEL072
ResetDisp
FClose 1
Wait
StartDisp 1
Return
:LABEL073
FClose -1
INTEGER037 = 0
If (BOOLEAN002) INTEGER037 = 2
STRING009 = ReadLine(STRING017, INTEGER037)
INTEGER038 = 0
INT006 = 1
While (1) Do
:LABEL074
Inc INTEGER037
STRING009 = ReadLine(STRING017, INTEGER037)
If (STRING009 == "") Break
If (Right(STRING009, 1) == "/") Goto LABEL074
Inc INTEGER038
FreshLine
STRING031 = Replace(STRING009, "/", "\")
STRING045 = STRING031
If (BOOLEAN006) Goto LABEL075
PrintLn ReadLine(STRING011, 29)
Wait
FClose -1
Return
:LABEL075
Print ReplaceStr(ReadLine(STRING011, 48), "@OPTEXT@", STRING031)
Gosub LABEL067
If (INT005 == 1) Then
FreshLine
PrintLn ReadLine(STRING011, 49)
If (BOOLEAN001) Then
FCreate 1, STRING025 + "zl", 1, 0
FPutLn 1, STRING031
FClose 1
Shell 0, STRING029, PPEPath() + STRING007, "ZIPVIEW " + STRING020 + " " + STRING001 + " " + STRING025 + "zl" + " " + STRING025 + "\work"
Goto LABEL076
Endif
Shell 0, STRING029, PPEPath() + STRING007, "ZIPVIEW " + STRING020 + " " + STRING001 + " " + STRING031 + " " + STRING025 + "\work"
:LABEL076
Gosub LABEL053
FClose -1
FAppend 1, STRING025 + "\work\" + STRING031, 1, 0
FPutLn 1, ""
FClose 1
StartDisp 2
DefColor
Cls
STRING016 = STRING025 + "\work\" + STRING031
Gosub LABEL055
INT006 = 1
FClose -1
Delete STRING025 + "\work\" + STRING031
Continue
Endif
If (INT005 == 3) Then
INT006 = 3
Return
Continue
Endif
INT006 = 2
EndWhile
If (INTEGER038 == 0) Then
FreshLine
PrintLn ReadLine(STRING011, 51)
Wait
Endif
FClose -1
Return
:LABEL077
FSeek 1, CurConf() * INT013 + 2 + 156, 0
FRead 1, STRING009, 29
FRead 1, STRING036, 26
STRING036 = RTrim(STRING036, " ")
FClose 1
Return
:LABEL078
STRING032 = ""
FSeek 1, CurConf() * INT013 + 2 + 482, 0
FRead 1, STRING032, 33
FClose 1
If (Exist(STRING032)) Goto LABEL079
STRING036 = ""
Return
:LABEL079
FOpen 1, STRING032, 0, 0
FSeek 1, 96 * (ToInteger(STRING035) - 1), 0
If (Ferr(1)) Then
STRING036 = ""
Else
FRead 1, STRING009, 30
FRead 1, STRING036, 30
Endif
STRING036 = RTrim(STRING036, " ")
FClose 1
Return
:LABEL080
INTEGER039 = INTEGER033
INTEGER040 = INTEGER033
INTEGER041 = INT002
BOOLEAN027 = 0
BOOLEAN026 = 0
BOOLEAN028 = 0
If (INTEGER040 == 0) Return
If (INTEGER040 < INT002) INTEGER041 = INTEGER040
While (1) Do
INTEGER040 = INTEGER040 - INTEGER041
If (INTEGER040 == 0) Then
BOOLEAN028 = 1
Endif
FSeek 1, 0 - INTEGER041, 1
BYTE001 = 0
FRead 1, BYTE001, 1
If (BYTE001 == 10) Then
Inc INTEGER040
Else
FSeek 1, -1, 1
Endif
INTEGER042 = 0
While (1) Do
FDGet BIGSTR001
INTEGER040 = INTEGER040 + Len(BIGSTR001) + 2
Inc INTEGER042
If (INTEGER040 >= INTEGER039) Then
If (INTEGER042 <= 1) Then
If (BOOLEAN028) Then
BOOLEAN026 = 1
INTEGER033 = 0
FSeek 1, 0, 0
Return
Endif
Break
Continue
Endif
INTEGER033 = INTEGER033 - Len(BIGSTR001) - 2
INTEGER040 = Len(BIGSTR001) + 2
FSeek 1, 0 - INTEGER040, 1
If (BOOLEAN027) Then
BOOLEAN026 = 0
Goto LABEL081
Endif
BOOLEAN026 = 1
:LABEL081
BOOLEAN028 = 0
Return
Endif
EndWhile
INTEGER041 = INTEGER041 + INT002
If (INTEGER041 >= INTEGER040) INTEGER041 = INTEGER040
EndWhile
Return
:LABEL082
If (InStr(STRING006, "/") || InStr(STRING006, "\")) Then
If (FileInf(STRING006, 9) <> "") Then
STRING006 = FileInf(STRING006, 8) + "." + FileInf(STRING006, 9)
Goto LABEL083
Endif
STRING006 = FileInf(STRING006, 8)
Endif
:LABEL083
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 10 End
; 13 Cls
; 5 ClrEol
; 17 Wait
; 458 Goto
; 403 Let
; 36 Print
; 44 PrintLn
; 286 If
; 7 DispFile
; 6 FCreate
; 13 FOpen
; 3 FAppend
; 49 FClose
; 8 FGet
; 8 FPutLn
; 5 ResetDisp
; 34 StartDisp
; 1 GetUser
; 20 DefColor
; 17 Delete
; 11 Log
; 6 InputStr
; 59 Gosub
; 31 Return
; 17 Inc
; 7 Dec
; 19 Newline
; 6 Tokenize
; 11 Shell
; 13 KbdStuff
; 14 AnsiPos
; 12 Backup
; 1 Forward
; 44 FreshLine
; 5 SaveScrn
; 5 RestScrn
; 15 FSeek
; 8 FRead
; 5 FDefIn
; 17 FDGet
; 5 Redim
; 2 Flag
; 1 SearchInit
; 1 SearchFind
; 1 PrFound
;
;
; ■ Functions used :
;
; 30 -
; 14 *
; 2 /
; 12 %
; 236 +
; 29 -
; 127 ==
; 24 <>
; 16 <
; 22 <=
; 13 >
; 31 >=
; 226 !
; 33 &&
; 33 ||
; 13 Len(
; 18 Upper()
; 3 Mid()
; 12 Left()
; 6 Right()
; 1 Space()
; 14 Ferr()
; 14 Chr()
; 12 Asc()
; 4 InStr()
; 6 Abort()
; 3 RTrim()
; 7 Time()
; 2 U_Name()
; 1 YesChar()
; 9 StripAtx()
; 2 Replace()
; 1 Strip()
; 7 Inkey()
; 12 String()
; 3 Mask_Pwd()
; 2 Mask_File()
; 1 Mask_Ascii()
; 3 CurConf()
; 1 PCBDat()
; 21 PPEPath()
; 3 PcbNode()
; 73 ReadLine()
; 4 OnLocal()
; 14 GetToken()
; 13 Exist()
; 3 LangExt()
; 5 GetX()
; 4 GetY()
; 5 FileInf()
; 2 TokCount()
; 14 ReplaceStr()
; 7 ToInteger()
; 1 ToReal()
; 1 FmtReal()
; 1 PPLBufSize()
; 2 PCBMac()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Sfd
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
; f - Flag files for download ■ 3
; This may be normal if a PPE needs to send some files, but since
; this statement allows flagging of any file on the hard disk, you
; have to be carefull. Check!
; ■ Search for : FLAG
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 12 For/Next
; 12 While/EndWhile
; 126 If/Then or If/Then/Else
; 5 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------